package com.lancoo.ccas53.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 年级专业
 * </p>
 *
 * @author quin.song
 * @since 2024-05-20
 */
@Data
@Accessors(chain = true)
@TableName("major_grade")
@EqualsAndHashCode(of = {"taskId", "baseCollegeId", "gradeId", "baseMajorId"})
@ApiModel(value = "MajorGrade对象", description = "年级专业")
public class MajorGrade implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "major_grade_id", type = IdType.AUTO)
    private Long majorGradeId;

    private Integer taskId;

    private String gradeId;

    @ApiModelProperty("所属年级")
    private String gradeName;

    private String baseMajorId;

    private String majorName;

    private String baseCollegeId;

    private String collegeName;

    @ApiModelProperty("所属校区")
    private Integer campusId;

    private String campusName;

    @ApiModelProperty("是否允许跨校区排课 0未开启  1已开启")
    private Integer isCampusCross;

    @ApiModelProperty("学分上限")
    private Double creditLimit;

    @ApiModelProperty("课程数上限")
    private Integer courseLimit;

    @ApiModelProperty("预选学分上限")
    private Double preCreditLimit;

    @ApiModelProperty("预选课程数上限")
    private Integer preCourseLimit;

    @ApiModelProperty("备注")
    private String baseSchemeId;

    @ApiModelProperty("备注")
    private String baseSchemeName;


    @TableField(exist = false)
    @ApiModelProperty("教学活动安排实体类")
    private List<ActiveTeach> activeTeachList;
    @TableField(exist = false)
    @ApiModelProperty("人数")
    private Long studentNum;
}
